package pe.edu.upc.dew.Grupo1.dao;

import java.util.List;

import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.simple.SimpleJdbcDaoSupport;

import pe.edu.upc.dew.Grupo1.model.Cine;

public class CineDaoJdbc extends SimpleJdbcDaoSupport implements CineDao{

	public void insert(Cine cine) {
		getSimpleJdbcTemplate().update("insert into cine(CodigoCine, RazonSocial, RUC) values(?,?,?)",
				cine.getCodigoCine(),cine.getRazonSocial(),cine.getRUC());
	}

	public Cine getCinePorCodigo(int codigo) {
		return getSimpleJdbcTemplate().
			queryForObject("select CodigoCine, RazonSocial, RUC from `cine` where CodigoCine = ?", 
			new BeanPropertyRowMapper<Cine>(Cine.class), codigo);
	}

	public void deleteCinePorCodigo(int codigo) {
		getSimpleJdbcTemplate().update("delete from `cine` where CodigoCine=?",codigo);
	}

	public void updatePorCodigo(Cine cine) {
		getSimpleJdbcTemplate().
		update("update `cine` set RazonSocial=?,RUC=? where CodigoCine=?", 
				cine.getRazonSocial(),cine.getRUC(),cine.getCodigoCine());
	}

	public List<Cine> getCinesPorRazonSocial(String razonSocial) {
		return getSimpleJdbcTemplate().
		query("select CodigoCine, RazonSocial, RUC from `cine` where RazonSocial like CONCAT('%', ?)", 
		new BeanPropertyRowMapper<Cine>(Cine.class),razonSocial);
	}

	public int getConteoCines() {
		// TODO Auto-generated method stub
		return getSimpleJdbcTemplate().queryForInt("select count(*) from `cine`");
	}
}
